package com.ny.demo518;

import com.ny.kind.five.Emp;

import java.util.*;
import java.util.Map;

public class Demo2 {
    public static void main(String[] args) {
        TestMap testmap = new TestMap();
        Map<String, com.ny.demo518.Emp> map = new HashMap<>();
        com.ny.demo518.Emp emp = new com.ny.demo518.Emp();
        boolean flag = true;
        while (flag) {
            System.out.println("欢迎来到员工系统");
            System.out.println("0.退出系统");
            System.out.println("1.添加员工");
            System.out.println("2.查询所有的员工");
            System.out.println("3.根据姓名查询员工");
            System.out.println("4.根据编号删除员工");
            System.out.println("5.根据编号查询员工");
            System.out.println("6.根据编号修改年龄");
            System.out.println("请选择功能");
            Scanner scanner = new Scanner(System.in);

            int n = scanner.nextInt();
            switch (n) {
                case 0:
                    System.out.println("退出系统");
                    flag = false;
                    break;
                case 1:
                    System.out.println("欢迎来到员工界面");
                    System.out.println("请输入员工的编号");
                    String addNumber = scanner.next();
                    System.out.println("请输入员工的姓名");
                    String addName = scanner.next();
                    System.out.println("请输入员工的年龄");
                    int addAge = scanner.nextInt();
                    com.ny.demo518.Emp addEmp = new com.ny.demo518.Emp(addNumber, addName, addAge);
                    testmap.addEmp(map, addEmp);
                    System.out.println("员工添加成功");
                    break;
                case 2:
                    System.out.println(map.values());  // 显示所有员工
                    System.out.println("查询所有员工");
                    break;
                case 3:
                    System.out.println("根据姓名查看员工");
                    System.out.println("请输入员工姓名");
                    String empName = scanner.next();
                    emp = testmap.findAllEmpName(map, empName);
                    System.out.println(emp);
                    break;
                case 4:
                    System.out.println("根据编号删除员工");
                    System.out.println("请输入员工编号");
                    String empNumber = scanner.next();
                    testmap.deleteEmp(map, empNumber);
                    break;
                case 5:
                    System.out.println("根据员工编号查看");
                    System.out.println("请输入员工编号");
                    String empId = scanner.next();
                    emp = testmap.findAllEmpNumber(map, empId);
                    System.out.println(emp);
                    break;
                case 6:
                    System.out.println("根据员工编号修改年龄");
                    System.out.println("请输入要修改的员工编号");
                    String updateNumber = scanner.next();
                    System.out.println("请输入需要修改的年龄");
                    int updateAge = scanner.nextInt();
                    emp = testmap.findAllEmpNumber(map, updateNumber);
                    if(emp != null) {
                        emp.setAge(updateAge);
                        testmap.updateEmp(map, updateNumber, emp);
                        System.out.println("修改成功: " + emp);
                    } else {
                        System.out.println("未找到该员工");
                    }
                    break;
                default:
                    System.out.println("无效的选择，请重新输入");
            }
        }
    }
}
